<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>tab栏切换</title>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      li {
        list-style: none;
      }

      .box {
        width: 602px;
        margin: 100px auto;
      }

      /* tab栏区域 */
      .box > .tab-nav-box {
        display: flex;
        border: 1px solid #ddd8dc;
      }
      .box > .tab-nav-box > li {
        width: 120px;
        height: 40px;
        line-height: 40px;
        text-align: center;
        cursor: pointer;
      }
      /* 当前选中 */
      .current {
        background-color: #d12521;
        color: #ffffff;
      }

      /* 内容区域 */
      .item-box {
        display: none;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <!-- tab栏区域 -->
      <ul class="tab-nav-box">
        <li class="current">商品介绍</li>
        <li>规格包装</li>
        <li>售后保障</li>
        <li>商品评价</li>
        <li>手机社区</li>
      </ul>

      <!-- 内容区域 -->
      <div class="tab-content-box">
        <div class="item-box" style="display: block">我是商品介绍的内容区域</div>
        <div class="item-box">我是规格包装的内容区域</div>
        <div class="item-box">我是售后保障的内容区域</div>
        <div class="item-box">我是商品评价的内容区域</div>
        <div class="item-box">我是手机社区的内容区域</div>
      </div>
    </div>

    <script>
      var tabNavList = document.querySelector('.tab-nav-box').querySelectorAll('li');
      var items = document.querySelector('.tab-content-box').querySelectorAll('.item-box');

      for (var i = 0; i < tabNavList.length; i++) {
        // 3、设置自定义属性，用来区分每个li
        tabNavList[i].setAttribute('data-index', i);

        tabNavList[i].onclick = function () {
          // 1、先清除所有样式
          for (var j = 0; j < tabNavList.length; j++) {
            tabNavList[j].className = '';
          }
          // 2、单独设置当前元素的样式
          this.className = 'current';

          // 4、获取当前索引
          var currentIndex = this.getAttribute('data-index');
          // 5、先让所有内容都隐藏
          for (var e = 0; e < items.length; e++) {
            items[e].style.display = 'none';
          }
          items[currentIndex].style.display = 'block';
        };
      }
    </script>
  </body>
</html>
